Developers looking to manipulate the content of a document have to know how to read and write data according to the file format of the document. This process can be complex and challenging. Attempting to alter a document programmatically without the associated application has been identified as a leading cause of file corruption, and has deterred some developers from even attempting to try to make alterations to the files. These documents are also stored in file formats that are typically proprietary. As such, each company that creates a file may utilize a different file format. Accessing the information that is contained within a proprietary format can be next to impossible. Reusing information between different applications can also be very difficult. Special code is usually required to be written to create reader and writer classes that can handle extracting and locating information within the proprietary file formats.